package uk.co.q3c.deplan.client.dao;

import uk.co.q3c.deplan.client.domain.resource.BaseCalendar;
import uk.co.q3c.deplan.client.domain.util.CalendarAdjustments;
import uk.co.q3c.deplan.server.service.CalendarService_BigT;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;

/**
 * @see CalendarService_BigT
 * @author David Sowerby 17 Apr 2010
 * 
 */
@RemoteServiceRelativePath("calendar")
public interface CalendarService extends RemoteService {

	int countBaseCalendars();

	/**
	 * @see CalendarService_BigT#findBaseCalendar()
	 * @return
	 */
	BaseCalendar findBaseCalendar();

	int countBaseCalendarsDiscarded();

	void deleteAllBaseCalendars();

	/**
	 * @see CalendarService_BigT#countCalendarAdjustments()
	 * @return
	 */
	int countCalendarAdjustments();

	void save(BaseCalendar baseCalendar);

	void save(CalendarAdjustments adjustments);

}
